/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 * @author Jorge Murillo
 */

import java.sql.*;
import java.util.Map;
import java.util.HashMap;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;

public class Reporte {
    ConexionModelo conexion=new ConexionModelo();
    private transient Connection con;

    public void startReport(String nombre,String cod){
        Map param=new HashMap();
        param.put("cod", cod);
        run(nombre,param);
    }

     public void startReport(String nombre,String cod,String fechaInicial,String fechaFinal){
        Map param=new HashMap();
        param.put("vendedor", cod);
        param.put("fechaInicial", fechaInicial);
        param.put("fechaFinal", fechaFinal);
        run(nombre,param);
    }
    
    private void run(String nombre,Map param){
        try{
            if( !conexion.isConnect() ){
          con=conexion.connect();
           while(!conexion.isConnect()){
                conexion.connect();
           }
     }

            String template="src/rutascoronasa/reportes/" + nombre;
           
            JasperReport reporte=null;
            reporte=(JasperReport) JRLoader.loadObject(template);

            JasperPrint jasperprint= JasperFillManager.fillReport(reporte,param,con);
            JasperViewer visor=new JasperViewer(jasperprint,false);
            visor.setTitle("Alimentos Corona S.A.");
            visor.setVisible(true);

        }catch(Exception e){
            javax.swing.JOptionPane.showMessageDialog(null, e);

        }
    }

}
